DataGrid - Fix the "No data" text not being shown when a lookup column is filtered (T1293839)#32757
DataGrid - Fix the "No data" text not being shown when a lookup column is filtered (T1293839)#32757markallenramirez wants to merge 18 commits intoDevExpress:26_1from
Conversation
There was a problem hiding this comment.
Pull request overview
Adds an E2E regression test to ensure DataGrid renders the “No data” text after filtering a lookup column, covering the scenario described in the PR title.
Changes:
- Import
ListTestCafe model to interact with the lookup dropdown. - Add a new screenshot-based TestCafe test reproducing “lookup filter + text filter => no data” state.
e2e/testcafe-devextreme/tests/dataGrid/common/markup/noDataText.ts
Outdated
Show resolved
Hide resolved
e2e/testcafe-devextreme/tests/dataGrid/common/markup/noDataText.ts
Outdated
Show resolved
Hide resolved
e2e/testcafe-devextreme/tests/dataGrid/common/markup/noDataText.ts
Outdated
Show resolved
Hide resolved
7696eba to
e66ecca
Compare
packages/devextreme/js/__internal/grids/grid_core/views/m_rows_view.ts
Outdated
Show resolved
Hide resolved
e2e/testcafe-devextreme/tests/dataGrid/common/markup/noDataText.ts
Outdated
Show resolved
Hide resolved
|
|
||
| // act | ||
| await t.click(lookupFilterCell.element); | ||
| const lookupList = new List(OVERLAY_SELECTOR); |
There was a problem hiding this comment.
Minor comment: I suggest creating a getLookup/getSelectBox method at the FilterCell model level, which will return the SelectBox model. This model has the necessary API for testing.
There was a problem hiding this comment.
Instead of creating another method, I refactored FilterCell and related DataGrid methods.
Before:
DataGrid.getFilterRow returns Selector
DataGrid.getFilterCell returns Selector
filterTextBox extends an editor and exposes a filter cell's filter operations menu
DataGrid.getFilterEditor returns EditorType, but based only on defined filter editors (currently only filterTextBox exists)
After:
DataGrid.getFilterRow returns FilterRow (now use filterRow.element to get element Selector)
DataGrid.getFilterCell returns FilterCell (now use filterRow.element to get element Selector)
FilterCell exposes a filter cell's filter operations menu
DataGrid.getFilterEditor can now accept any base editor type (e.g., TextBox, SelectBox, etc.)
| await t | ||
| .click(filterMenu.menuButton()) | ||
| .click(filterMenu.menu.getItemByText('Starts with')); | ||
| .click(filterCell.menuButton()) |
There was a problem hiding this comment.
FilterCell.menuButton is a Selector property, but this test calls it as a function (menuButton()). This will either fail TypeScript compilation or pass a NodeSnapshot/promise to t.click, depending on typings, and is inconsistent with the other updated tests. Use the selector property directly (no parentheses).
| .click(filterCell.menuButton()) | |
| .click(filterCell.menuButton) |
1bed5b3 to
879e6f0
Compare
No description provided.